#ifndef __NETWORKMANAGER_H__
#define __NETWORKMANAGER_H__

/*
 * 文件介绍
 * 源码文件：tcpServer.h 和 tcpServer.cpp 用作 TCP 连接管理类声明和实现
 * 
 * 作者：李江军
 * 日期：2022-08-24
 * 功能：用于管理 TCP 连接
 */

#include <iostream>
#include <strings.h>

#include "netMessage.h"
#include "protocol.h"

class TcpServer
    : public BaseHandle<ServerCmdMessage>
{
public:
    TcpServer(std::string addr, int port);
    ~TcpServer();
    
    // 线程函数
    void epollThread();

public:
    virtual bool handle(const ServerCmdMessage *pMsg);

private:
    void newClientHandle();
    void clientDisconnected(int cfd);
    void parseClientData(const CommProtocol& c);

private:
    class Imple;
    Imple *m_imple;
};


#endif // __NETWORKMANAGER_H__